package LeetCode_力扣;
//141. 环形链表
//如果链表中存在环 ，则返回 true 。 否则，返回 false

/**
 * 思路：用快慢指针。创建两个引用slow和fast。
 * slow一次走一步，fast一次走两步。当slow进入环形节点时，
 * 当slow走当一半路径时，不管当时的fast在哪肯定会超过slow。
 * 因为fast比slow快一倍，slow走一半，fast肯定走完了一圈，
 * 如果是环形必然会路过。
 */

/*

public class hasCycle_141 {
    public boolean hasCycle(ListNode head) {

        ListNode slow = head;//慢指针
        ListNode fast = head;//快指针

        while(fast != null && fast.next != null){

            slow = slow.next;
            fast = fast.next.next;
            //某一刻路过时
            if(slow == fast){
                return true;
            }
        }
        return false;
    }
}

 */



//class ListNode {
//    int val;
//    ListNode next;
//
//    ListNode(int x) {
//        val = x;
//        next = null;
//    }
//}
